学校の情報を整理する際、表計算ソフトは非常に手軽に始められる選択肢です。しかし、学生・コース・教員・履修登録などのすべての記録を1枚の巨大で過負荷なシートにまとめると、データが際限なく繰り返され、システムが破綻してしまいます。1人の学生が複数の授業を受講すると、その個人情報を何度も繰り返し書き込まなければならず、煩雑な重複と深刻な保守上の問題が生じます。
データベース設計の基本概念
- データの重複: コースに多数の学生が登録されていると、コース情報と教員情報が多数の行にわたって繰り返され、スペースの無駄とエラーの誘発につながります。
- 更新異常: サムが電話番号を変更した際に1か所だけ更新すると、シート全体が矛盾した情報で埋め尽くされてしまいます。
- 要件分析: 信頼性の高い設計は、これらの問題を発見し、エンティティ(実体)、属性、リレーションシップ(関係)を特定することから始まります。
構造化が必要な理由
適切に設計されたデータベースは、同じ学生・コースの組み合わせが誤って2回登録されてしまうといったエラーを防ぎます。異なる概念を適切に構造化されたテーブルに分離することで、各行が単一かつ一貫した対象を表し、信頼性の高い運用を保証します。
設計原則
すべての設計上の決定は、想定上の慣習ではなく、明示された要件に直接トレーサブル(追跡可能)でなければなりません。これにより、アーキテクチャが実世界を正確にモデル化することが保証されます。
